前幾篇探討了測試資料管理的各種運用方式,不過製造測試資料不管在時間,人力和儲存上都是最貴的選擇。在開發和測試環境中比較有效率的方法是製造虛擬的API服務 (Virtual Services)。
流程說明:
現在回到我們的網銀例子來看Virtual Services如何運作。下圖可見我們有Prod(紫色),Test(橘色),和Dev(綠色)三個不同環境。裡面只有Prod能接到Visa和Mastercard的服務(藍色)
開發和測試團隊在過程中有可能遇到的情況有:
情況1
網站開發者(Dev2)在寫網頁時需要的其他服務,Account Service和Transaction Service,也正在開發中。
Dev2在Dev1和Dev3開發完成前無法測試網頁功能。
這時候如果我們為Account Service和Transaction Service製造虛擬服務的話,Dev1就可以提早測試網頁的邏輯功能,當其他服務開發完成後需要的修改也會比較少。
情況2:
Dev1在開發Account Service時,需要連到Visa和Mastercard的服務,不過要跟Visa和Mastercard申請測試區域需要一段時間,而且每次運用時還需要收費。在開發過程中常需要修改和連線,這樣下來也是一筆不小的開銷。而在不同的SIT環境中也會遇到同樣的問題。
所以解決方法是製造Visa和Mastercard的虛擬服務,運用在開發和SIT環境上,然後到UAT時再連結到實際的服務上。
預期效益
不過我在跟developer提到virtual service時,最常聽到的一句話是 "我可以很快的stub或mock那個部分,為什麼需要另外製造一個virtual service呢?"
下一篇來看一個virtual service如何被製造和它的功能與stub/mock有何不同。
< 上一篇 Day17 - Continuous Testing - Test Data (Part 5 - Synthetic Data Generation)
> 下一篇 Day19 - Continuous Testing - Service Virtualization (Part 2)